//#define _CRT_SECURE_NO_WARNINGS  1
////一定要动手，例子不管多么简单，建议至少自己手敲一遍看看是否理解了里头的细枝末节。
////一定要学会思考，思考为什么要这样，而不是那样。还要举一反三地思考
//#include<iostream>
//using namespace std;
//class person {
//public:
//	int age;
//	mutable int id;
//public:
//	 //this指针的本质：int * const this  指针常量，指针的指向是不可以修改的
//	 //const 修饰的成员函数是常函数
//	 //常函数本质是修饰this指针， const int * const this ，使得指针指向的值也不可以被修改
//	void showperson()const //常函数
//	{
//		//age = 100; 报错，指针指向的值不可被修改
//		id = 100;//特殊的成员属性，mutable修饰的成员，即使常函数中也可以修改
//	}
//	void showid()
//	{
//
//	}
//};
//void test01()
//{
//	const person p;//常对象：const 修饰的对象称为常对象
//	//p.age = 100;错误，常对象也不能修改成员
//	p.id = 100;//特殊值   常对象下也可以修改
//	p.showperson();
//	//p.showid(); 常对象只能调用常函数，普通成员函数可以修改成员属性
//}
//int main()
//{
//	test01();
//	system("pause");
//	return 0;
//}